﻿using System;
using System.Collections.Generic;
using Medora.Model;
using Medora.Model.Basic;
using Medora.Model.Institutions;

namespace Medora.Services
{
    public interface IService<T, F> where T: DeletedEntity where  F: IFilter
    {
        IPagedEntities<T> GetPaged(int pageSize, int page, F filter, SortInfo sortInfo = null);
        int GetCount();
        bool Save(Guid userId, T obj);
        bool Delete(List<Guid> ids);
        IEnumerable<T> Get(F filter);
        T GetById(Guid id);
       
    }
}